package com.htgd.gardenexpo.service;

import com.github.pagehelper.PageInfo;
import com.htgd.gardenexpo.dto.GeConPlantSeatDTO;
import com.htgd.gardenexpo.dto.GeConTheaterPlanDTO;
import com.htgd.gardenexpo.entity.CommonResult;
import com.htgd.gardenexpo.entity.GeConTheaterPlan;
import com.baomidou.mybatisplus.extension.service.IService;
import com.htgd.gardenexpo.page.PageBase;
import com.htgd.gardenexpo.page.PlanQuery;
import com.htgd.gardenexpo.vo.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * <p>
 * 放映计划 服务类
 * </p>
 *
 * @author author
 * @since 2024-09-09
 */
public interface GeConTheaterPlanService extends IService<GeConTheaterPlan> {

    PageInfo<GeConTheaterPlanVO> pageList(PlanQuery planQuery);

    List<GeConTheaterPlan> getEffectiveList();

    TheaterHomePageVO getTheaterHomePage(HttpServletRequest request);

    PageInfo<TheaterTicketListVO> getVotingInformation(PageBase pageBase, String openId);

    CommonResult add(GeConTheaterPlanDTO geConTheaterPlanDTO, String phone);

    void updateSeats(GeConPlantSeatDTO geConPlantSeat, HttpServletRequest request) throws Exception;

    CommonResult<TheaterNumsVO> getAttendanceAndMovieTicketNums(String date, Integer pageNum, Integer pageSize);

    CommonResult<TheaterHomePageNewVO> getTheaterHomePageNew(String openId);

    CommonResult getPlanDetails(String id, String movieId);
}
